package com.agp.entity;


import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author agp
 * @since 2018-04-20
 */
@TableName("yecaishui_user")
public class User extends Model<User> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField("gmt_create")
    private Date gmtCreate;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("gmt_modified")
    private Date gmtModified;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    private String account;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    private String password;

    /**
     * 用户昵称
     */
    @ApiModelProperty(value = "用户昵称")
    private String nickname;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String tel;

    /**
     * 公众号唯一标识
     */
    @ApiModelProperty(value = "公众号唯一标识")
    @TableField("wechat_openid")
    private String wechatOpenid;

    /**
     * 微信开放平台唯一标识
     */
    @ApiModelProperty(value = "微信开放平台唯一标识")
    @TableField("wx_unionid")
    private String wxUnionid;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    @TableField("idcard_num")
    private String idcardNum;

    /**
     * 真实姓名
     */
    @ApiModelProperty(value = "真实姓名")
    @TableField("true_name")
    private String trueName;
    /**
     * 用户头像
     */
    private String headportrait;

    /**
     * 主公司id
     */
    @ApiModelProperty(value = "主公司id")
    @TableField("main_company")
    private Long mainCompany;

    /**
     * 默认数据权限
     */
    @ApiModelProperty(value = "默认数据权限")
    @TableField("default_company")
    private Long defaultCompany;

    /**
     * 逻辑删标识
     */
    @ApiModelProperty(value = "逻辑删标识")
    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    /**
     * 开票组织
     */
    @ApiModelProperty(value = "开票组织")
    @TableField("to_org_id")
    private Long toOrgId;

    /**
     * 对应职员
     */
    @ApiModelProperty(value = "对应职员")
    @TableField("cor_staff_id")
    private Long corStaffId;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remarks;

    /**
     * 系统编号
     */
    @ApiModelProperty(value = "系统编号")
    @TableField("sys_num")
    private Long sysNum;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    @TableField("create_user_id")
    private Long createUserId;

    /**
     * 创建人名称（账号）
     */
    @ApiModelProperty(value = "创建人名称（账号）")
    @TableField("create_user_name")
    private String createUserName;

    /**
     * 用户类型1.手机用户2.pc用户
     */
    @TableField("user_type")
    private Integer userType;

    /**
     * 冻结状态: 0 未冻结 1.已冻结
     */
    @TableField("frozen_status")
    private Integer frozenStatus;


    public Long getDefaultCompany() {
        return defaultCompany;
    }

    public void setDefaultCompany(Long defaultCompany) {
        this.defaultCompany = defaultCompany;
    }

    public Integer getFrozenStatus() {
        return frozenStatus;
    }

    public void setFrozenStatus(Integer frozenStatus) {
        this.frozenStatus = frozenStatus;
    }

    public String getHeadportrait() {
        return headportrait;
    }

    public void setHeadportrait(String headportrait) {
        this.headportrait = headportrait;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getWechatOpenid() {
        return wechatOpenid;
    }

    public void setWechatOpenid(String wechatOpenid) {
        this.wechatOpenid = wechatOpenid;
    }

    public String getWxUnionid() {
        return wxUnionid;
    }

    public void setWxUnionid(String wxUnionid) {
        this.wxUnionid = wxUnionid;
    }

    public String getIdcardNum() {
        return idcardNum;
    }

    public void setIdcardNum(String idcardNum) {
        this.idcardNum = idcardNum;
    }

    public String getTrueName() {
        return trueName;
    }

    public void setTrueName(String trueName) {
        this.trueName = trueName;
    }

    public Long getMainCompany() {
        return mainCompany;
    }

    public void setMainCompany(Long mainCompany) {
        this.mainCompany = mainCompany;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public Long getToOrgId() {
        return toOrgId;
    }

    public void setToOrgId(Long toOrgId) {
        this.toOrgId = toOrgId;
    }

    public Long getCorStaffId() {
        return corStaffId;
    }

    public void setCorStaffId(Long corStaffId) {
        this.corStaffId = corStaffId;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Long getSysNum() {
        return sysNum;
    }

    public void setSysNum(Long sysNum) {
        this.sysNum = sysNum;
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", gmtCreate=" + gmtCreate +
                ", gmtModified=" + gmtModified +
                ", account='" + account + '\'' +
                ", password='" + password + '\'' +
                ", nickname='" + nickname + '\'' +
                ", tel='" + tel + '\'' +
                ", wechatOpenid='" + wechatOpenid + '\'' +
                ", wxUnionid='" + wxUnionid + '\'' +
                ", idcardNum='" + idcardNum + '\'' +
                ", trueName='" + trueName + '\'' +
                ", mainCompany=" + mainCompany +
                ", deleteFlag=" + deleteFlag +
                ", toOrgId=" + toOrgId +
                ", corStaffId=" + corStaffId +
                ", remarks='" + remarks + '\'' +
                ", sysNum=" + sysNum +
                ", createUserId=" + createUserId +
                ", createUserName='" + createUserName + '\'' +
                '}';
    }
}
